package 集合相关.queue;

import java.util.concurrent.LinkedBlockingQueue;

/**
 *添加元素的方法有三个：add,put,offer,且这三个元素都是向队列尾部添加元素的意思。

    区别:

		add方法在添加元素的时候，若超出了度列的长度会直接抛出异常： 
		put方法，若向队尾添加元素的时候发现队列已经满了会发生阻塞一直等待空间，以加入元素。 
		offer方法在添加元素时，如果发现队列已满无法添加的话，会直接返回false。     

    从队列中取出并移除头元素的方法有：poll，remove，take。     
        poll: 若队列为空，返回null。
        remove:若队列为空，抛出NoSuchElementException异常。
        take:若队列为空，发生阻塞，等待有元素。
 */
public class LinkedBlockingQueue_Demo {
 public static void main(String[] args) throws InterruptedException, CloneNotSupportedException {
	 LinkedBlockingQueue<Integer> queue=new LinkedBlockingQueue<Integer>();
	 queue.put(10);
	 queue.put(11);
	 queue.put(12);
	 queue.put(13);
	 queue.put(14);
	 System.out.println(queue.size());
	 for(int i=0;i<=queue.size();i++){
		 int a=queue.remove();
		 System.out.println(a);
	 }
	 
	 
	 
}
}
